/*
  Grupo 2
  
  Luiz Felipe de Souza Mattos 	RA 107822
  
  Debora Maia Silva 	      	RA 101985

*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lista.h"

/* insere uma cidade no final da lista de cidades indicada, ou nao faz nada caso a
cidade ja esteja na lista */
void InsereCidade(Cidade **cidade,char *nome)
{
	Cidade *nova,*aux;
	
	nova = (Cidade *)malloc(sizeof(Cidade));
	strcpy(nova->cidade,nome);
	nova->prox = NULL;

	aux = *cidade;

	if (aux == NULL)
	{
		*cidade = nova;
		return;
	}
	
	while(aux->prox != NULL)
		aux = aux->prox;

	aux->prox = nova;

	return;
}

/* libera a memoria alocada pela lista de cidades indicada */
void LiberaCidades(Cidade **cidade)
{
	Cidade *lixo;
	
	while (*cidade != NULL)
	{
		lixo = *cidade;
		*cidade = (*cidade)->prox;
		free(lixo);
	}
}

/* imprime as cidade da lista indicada, separadas com ponto e virgula */
void ImprimeCidades(Cidade *cidade)
{
	Cidade *aux;

	aux = cidade;

	while (aux != NULL)
	{
		printf("%s;",aux->cidade);
		aux = aux->prox;
	}
	printf("\n");
}
